home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / newsgroups / misc.20000824-20010305 / 000074_news@columbia.edu _Mon Oct 16 17:09:36 2000.msg < prev    next >
Internet Message Format  |  2020-01-01  |  6KB

  1. Return-Path: <news@columbia.edu>
  2. Received: from watsun.cc.columbia.edu (watsun.cc.columbia.edu [128.59.39.2])
  3.     by fozimane.cc.columbia.edu (8.9.3/8.9.3) with ESMTP id RAA18055
  4.     for <kermit.misc@cpunix.cc.columbia.edu>; Mon, 16 Oct 2000 17:09:36 -0400 (EDT)
  5. Received: from newsmaster.cc.columbia.edu (newsmaster.cc.columbia.edu [128.59.59.30])
  6.     by watsun.cc.columbia.edu (8.8.5/8.8.5) with ESMTP id RAA15733
  7.     for <kermit.misc@watsun.cc.columbia.edu>; Mon, 16 Oct 2000 17:09:35 -0400 (EDT)
  8. Received: (from news@localhost)
  9.     by newsmaster.cc.columbia.edu (8.9.3/8.9.3) id QAA01178
  10.     for kermit.misc@watsun.cc.columbia.edu; Mon, 16 Oct 2000 16:40:25 -0400 (EDT)
  11. X-Authentication-Warning: newsmaster.cc.columbia.edu: news set sender to <news> using -f
  12. From: fdc@columbia.edu (Frank da Cruz)
  13. Subject: Re: No Carrier
  14. Date: 16 Oct 2000 20:40:24 GMT
  15. Organization: Columbia University
  16. Message-ID: <8sfp3o$14n$1@newsmaster.cc.columbia.edu>
  17. To: kermit.misc@columbia.edu
  18.  
  19. In article <%ZHG5.54658$bI6.1914001@news1.giganews.com>,
  20. Steve <steve@baus-systems.com> wrote:
  21. : We currently have DOS clients that on a regular basis, communicate with a
  22. : host PC to exchange files.  The clients and the host are running DOS apps
  23. : that call Kermit 3.15.  We would like to upgrade the host to K95 to allow
  24. : for multiple transfers at one time on one PC.
  25. : Here is what we are doing:
  26. : The host waits in server mode for a client to connect.  The clients connects
  27. : either through a serial cable or modem...
  28. :
  29. So then you need one serial port for each simultaneous session.  As you know,
  30. PCs are not easily able to accommodate more than two serial ports, due to
  31. the severe shortage of available IRQs in the PC architecture.  Any serial 
  32. ports beyond two are likely to introduce interrupt conflicts.
  33.  
  34. : ... and sends across a file that contains
  35. : a field that tells the host which client this is then the client sends a
  36. : Finish command to kick the host out of server mode.  The host opens the file
  37. : to get the client ID then changes to a directory containing files specific
  38. : to that client that are waiting to go to the client, compresses the files
  39. : and sends across the compressed file.  The host then goes into server mode
  40. : waiting for the clients compressed data file.  After the client sends the
  41. : file it sends a Finish command and the host uncompresses the file and
  42. : processes the data, copying files contained within the compressed data file
  43. : to the appropriate places.  The host then goes back into server mode waiting
  44. : for the next client.
  45. :
  46. All this switching into and out of server mode sounds pretty tricky to me.
  47. How do the two sides stay synchronized?  Wouldn't it be better to keep the
  48. host in server mode and drive everything from the client script?
  49.  
  50. For example, make the client ID correspond to a directory on the host.
  51. Then the client script could:
  52.  
  53.  . CD to its own host directory.
  54.  
  55.  . Does a GET command for the files that are waiting.  Note that both
  56.    K95 and MS-DOS Kermit 3.15 have a RETRIEVE command, which means
  57.    "send me the specified files, and then delete each one if and only
  58.    if it is sent successfully" (in K95, this is equivalent to GET /DELETE).
  59.    This feature is designed for exactly your kind of application.  For
  60.    more discussion of "atomic file movement", see:
  61.  
  62.      http://www.columbia.edu/kermit/case10.html
  63.  
  64.  . I would guess that the compression step can probably be skipped, since
  65.    the modems take care of that transparently.  In those cases where you
  66.    might not have a data-compressing modem connection, the improved
  67.    simplicity might be worth the tradeoff.  Conversely, you have have the
  68.    client script obtain send "remote host zip" or similar commands.
  69.  
  70.  . Now the client sends back its files and sends FINISH, and hangs up its
  71.    connection.
  72.  
  73. This makes the server end quite simple.
  74.  
  75. : One other important part is from time to time a phone
  76. : line can go bad in the middle of a transfer and therefore for example the
  77. : host may be waiting for the clients compress data file while a new client
  78. : may be connecting and sending the client ID file.
  79. :
  80. This, of course, points up the dangers of using a DOS/Windows server, which
  81. has no notion of separate user identities or authentication.  You would solve
  82. an awful lot of programs by using some form of Unix (such as Linux or SCO)
  83. on the server.  This gets you user IDs, file protection and permissions, and
  84. all the rest automatically, not to mention the natural ability of the Kermit
  85. server to run subprocesses without hanging.
  86.  
  87. : We refer to this as the
  88. : client and the host being out of synch.  To resolve this, when the client
  89. : first connects, it sends 2 Finish commands which 100% guarantees that the
  90. : host will be at the "waiting for client ID" section of the host app as that
  91. : part of code on the host looks something like:
  92. : Do While True
  93. :  Kermit server
  94. :  If File(ClientID)
  95. :   Exit Do
  96. :  End If
  97. : End Do
  98. : We would like to upgrade the host app to K95 and have a VB app that seems to
  99. : work fine except for communicating over the modem.  When we send the Finish
  100. : from the client, it drops the line and we get No Carrier on the client.  If
  101. : we could get around this, that should solve our issue.  I am not sure
  102. : changing the software on the client is a realistic option as updating the
  103. : clients is a major hassle.
  104. :
  105. Still, it might be worth it.  The current scheme has too many vulnerabilities,
  106. both procedural and security-related.
  107.  
  108. : We can change the modem initialization string on the clients so that is an
  109. : option.
  110. : Any thoughts?
  111. :
  112. It's up to you.  If you can't change the client scripts, then you'll need
  113. to make the server script take every possibility into account.  If you want
  114. to continue with your current scenario, Jeff already made the suggestions
  115. you need -- remove the EXIT command from your script, and have the script
  116. loop back and wait for another call.  Or put two SERVER commands in a row.
  117. Whatever you need to do, the scripting language will allow -- you just need
  118. to think through all the possibilities.
  119.  
  120. Another possibility is to simply run K95 host mode on server:
  121.  
  122.   http://www.columbia.edu/kermit/k95host.html
  123.  
  124. In that case, the client script has to log in and negotiate the menus, but
  125. that's not too difficult, and then at least you have some measure of
  126. authentication and file protection.
  127.  
  128. - Frank